/**
 * 环境变量配置
 */

import { CodeGenTypeEnum } from "@/constants/codeGenType"

// 应用部署域名（指向 Nginx，80 端口可省略）
export const DEPLOY_DOMAIN = import.meta.env.VITE_DEPLOY_DOMAIN || 'http://localhost'

// API 基础地址（指向 Nginx 的 /api 路径，让静态资源请求经过 Nginx）
export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8125/api'

// 静态资源地址（基于 API_BASE_URL 拼接）
export const STATIC_BASE_URL = `${API_BASE_URL}/static`

// 获取部署应用的完整URL
export const getDeployUrl = (deployKey: string, userId?: number | string) => {
  return `${DEPLOY_DOMAIN}/${userId}/code_deploy/${deployKey}/`
}

// 获取静态资源预览URL
export const getStaticPreviewUrl = (codeGenType: string, appId: string, userId?: number | string) => {
  // 开发环境使用相对路径，利用Vite代理实现同源访问
  const isDev = import.meta.env.DEV
  const baseUrl = isDev
    ? `/${userId}/code_output/${codeGenType}_${appId}/`  // 相对路径，走Vite代理
    : `${DEPLOY_DOMAIN}/${userId}/code_output/${codeGenType}_${appId}/`  // 生产环境绝对路径

  if(codeGenType === CodeGenTypeEnum.VUE_PROJECT.value) {
    return `${baseUrl}dist/index.html`
  }
  // 对于HTML和多文件项目，直接指向index.html
  return baseUrl
}
